2020 百度之星程序设计大赛 - 初赛(B)

A B C 均为水题(A它卡我精度!必须整型处理,吐了

D


我是 10^5 枚举,可以过,但是更正经的解法是状压 dp 阿。。

E


这题不对劲!这,这不是(简化版的)第一场的 G 嘛!费用流裸题

F


这看上去像一道傻*题,不是吗不是吗不是吗(有诈

咕咕

G


大观察题

首先我们知道 Alice 囤题是为了耽误 Bob 的时间

若 Alice 能在 \sum_{i = 1}^p {b_i} 的时间内写完第 p 题,就可以拿到 1 分,因为她可以等 Bob 刚好写完第 p 题的时候提交

  • 那么 Bob 按顺序写了所有题!(好惨阿

设 Alice 能拿 1 分的题的集合为 S,显然 Alice 按编号从小到大做 S 中的题最优,因为对后面题的影响最少

  • 那么顺序这个难搞的东西就被解决了!

然后就可以 dp 了,考虑到 n 只有 2000,我们设计 n^2 的 dp

显然重要量就三个:位置,分数,时间,其中时间的范围很大

f[i, j] 表示前 i 道题,Alice 拿了 j 分的最小时间,转移考虑是否选当前的题

H


神题,需要仔细思考 hanoi 游戏的进程

显然是,为了移动一个大盘子,让其他小盘子聚拢到一根柱子的过程的重复版本,那么我们就有了子问题

然后后面就看不懂了,咕咕